package main

func main() {
	val := 1
	// a 是一个指针，指向 val 的地址。
	var a *int = &val
	*a += 1
	// DoOPeration(1, increase)
	DoOperation(1, decrease)
}

func increate(x, y int) {
	x += y
}

// DoOperation 是一个执行操作的函数，它接受一个整数 y 和一个函数 f 作为参数。
// 参数 y 是一个整数，用于传递给函数 f 作为第一个参数。
// 参数 f 是一个函数，它接受两个整数参数并且没有返回值。
// 该函数的主要作用是使用给定的函数 f 和参数 y，以及一个固定的整数 1 来执行操作。
func DoOperation(y int, f func(int, int)) {
	// 调用传入的函数 f，将 y 和 1 作为参数传递给它。
	// 这里的 1 是一个硬编码的值，用于与 y 一起传递给 f。
	f(y, 1)
}

func decrease(a, b int) {
	println("decrease result is :", a-b)
}
